-
Notifications
You must be signed in to change notification settings - Fork 107
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Generate manifests using tooling and configs from osbuild/images #4183
base: main
Are you sure you want to change the base?
Conversation
c230e49
to
ef8b162
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you, one small inline comment (that has a hard time getting rendered so I will repeat here). Maybe just
go run -tags=exclude_graphdriver_btrfs github.com/osbuild/images/cmd/gen-manifests@latest
in tools/gen-manifests ? This would avoid the explicit tmpdir handling (or is there another reason for the clone)?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nice!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Image Tests are failing and they aren't failing on the latest nightly pipeline so it looks like the failure is related to this PR.
ef8b162
to
4e7c179
Compare
Did a rebase to drop those CS8 unit tests and I'll have a closer look in a bit. |
Nightly image tests are failing with:
This new format for the Perhaps we need to be smarter about this and generate manifests for the nightly pipelines with the version of the gen-manifests tool that matches the version of osbuild-composer that we're testing, otherwise we'll be running into this issue all the time. It's a bit strange that we're running test data from |
@achilleas-k Question: rename from test/data/manifests/rhel_9.4-aarch64-azure_rhui-boot.json So files are renamed from their |
So basically vendor-in the version of gen-manifests, which is what we're doing RN. It is hard to know which particular version to use b/c downstream is a moving target and changes over the course of a release. I think so far the way we've dealth with that fact is because manifests are updated very rarely, usually once per minor release. Or maybe because versions have been fairly compatible till recently. For the purposes of getting this PR out of the door you can use a
Maybe "a bit" but the setup has been rather stable over time. This question comes up every time when a similar situation occurs so to give you an answer why it is like that:
|
The manifest generation in
The boot suffix has, for a long time, been added to every manifest filename. I think the purpose of the suffix got lost a long time ago. Seems like as far back as Sep. 2021 (008dfcc), the only value for |
I see a few options here:
1 has the benefit that we can clearly differentiate manifests for the |
To be honest, testing on 9.4 nightly has IMHO zero value. 9.4 is already GA and new upstream releases are not landing in 9.4 any more. There is very little value in making |
Yeah, I was also thinking this but assumed someone thought there was some value and I was missing something. |
That should be 9.5 nightly after a rebase so it should be easier IMO. |
This PR is stale because it has been open 30 days with no activity. Remove "Stale" label or comment or this will be closed in 7 days. |
This PR is stale because it has been open 30 days with no activity. Remove "Stale" label or comment or this will be closed in 7 days. |
This PR needs a rebase and there are lots of conflicts to be resolved. |
A new script to replace ./cmd/gen-manifests. The script queries the go dependencies to get the version of osbuild/images that osbuild-composer currently depends on, clones the osbuild/images repository at that version, and uses the ./cmd/gen-manifests tool from there to generate new manifests. This is meant to replace ./cmd/gen-manifests so that we only have one command and set of configurations for generating manifests, to avoid drift between the two implementations.
The manifests generated by osbuild/images use the property name 'build-request' instead of 'compose-request'.
Support arguments for filtering and pass them straight through to gen-manifests (multiple values and globs are supported). `set -x` before running the gen-manifests tool to print the full command.
This is required for building the binary on RHEL. It has no effect on manifest generation, so we can use it unconditionally.
Update the test README with information about the new script.
Remove the format-request-map and repos that were used for the old manifest generation. The new manifest generator uses the configs and repos defined in osbuild/images.
Remove the gen-manifests go cmd since we now only rely on the one in osbuild/images.
Updated only manifests for image types that were already in the repository. This commit also adds Fedora 40 manifests. Generated with: rm ./test/data/manifests/fedora* ./tools/gen-manifests 'fedora-*' 'x86_64,aarch64' 'iot-commit,iot-container,iot-installer,iot-raw-image,container,live-installer,minimal-raw,oci,openstack,qcow2,vmdk'
Updated only manifests for image types that were already in the repository. This commit also adds CentOS 10 manifests. Generated with: rm ./test/data/manifests/centos* ./tools/gen-manifests 'centos-*' '*' 'minimal_raw,openstack,qcow2,tar,oci,vmdk'
Updated only manifests for image types that were already in the repository. The commit also adds RHEL 10 manifests and removes manifests for distros without minor version, rhel-7, rhel-8, and rhel-9. Generated with: rm ./test/data/manifests/rhel* ./tools/gen-manifests 'rhel-*' '*' 'azure-rhui,gce-rhui,minimal-raw,openstack,qcow2,tar,vmdk'
4e7c179
to
5eaffcb
Compare
Rebased and resolved conflicts. I want to keep this open but I'm switching it to draft. We should get back to it when we have more time (after ITM 26) to sort out the connection with manifest-db as well. |
This PR is stale because it has been open 30 days with no activity. Remove "Stale" label or comment or this will be closed in 7 days. |
This PR is stale because it has been open 30 days with no activity. Remove "Stale" label or comment or this will be closed in 7 days. |
This PR is stale because it has been open 30 days with no activity. Remove "Stale" label or comment or this will be closed in 7 days. |
This PR:
./tools/gen-manifests
that clones osbuild/images (at the version specified in go.mod) and runs./cmd/gen-manifests
from there../cmd/gen-manifests
and the configs in./tools/test-case-generators
.